Immersive dimensional variation

ABSTRACT

A computing device is used for creating a dimensional model of at least a portion of a product, the dimensional model including a range of possible conditions with respect to at least one component in the product. The dimensional model is used to create a set of geometries for the product, a geometry being a representation of at least a portion of the product, wherein each of the geometries corresponds to one or more of the conditions. A display is provided of a first one of the geometries, and then, upon receiving an input requesting a second one of the geometries, a display is provided of the requested second one of the geometries.

BACKGROUND INFORMATION

Assembly of products having multiple parts and/or components can resultin different product builds presenting dimensional variations, i.e.,differences in placement, orientation, spacing, etc., of parts and/orcomponents resulting from component manufacturing and product assembly.Dimensional variations affect not only the visual appearance andstructural relationship of adjacent parts or components, but can affectthe overall characteristics and quality of a product. The study ofdimensional variations may be referred to as dimensional variationanalysis (DVA).

Although dimensional variations can never be eliminated, particularlywith respect to large and complex products such as vehicles, they can becontrolled within an expected range. For example, the type of materialsused in a part, expected range of dimensions of the part, a manner inwhich the part is attached to the product structure, and other factorsmay affect dimensional variations to which the parts may contribute.Accordingly, dimensional variations may be modeled to test productdesigns so that a product design ultimately used for manufacturing andassembly results in a product with dimensional variations that generallyfall within the accepted range.

Unfortunately, mechanisms for visually representing possible dimensionalvariations are presently lacking.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an exemplary system for providing an immersivevirtual reality environment.

FIG. 2 illustrates further exemplary details of the system of FIG. 1,including elements for providing a virtual representation used tosupport evaluation of a dimensional variation analysis.

FIGS. 3A and 3B illustrate respectively an exterior vehicle surfacegeometry and an interior vehicle surface geometry.

FIG. 4 illustrates an exemplary vehicle structural mesh.

FIG. 5 illustrates an exemplary dimensional variation analysis (DVA)mesh.

FIG. 6 illustrates an exemplary process for creating and using animmersive virtual environment including evaluation of varied geometries.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

I. System Overview

FIG. 1 illustrates an exemplary system 100 for providing an immersivevirtual reality environment. The system 100 includes a virtual realityserver 105 that generates a virtual world, e.g., in monoscopic orstereoscopic format, including a virtual reality environment and avirtual product such as a virtual vehicle 110. A user may be given aview of the virtual world by using a display device 115, and can therebyinteract with the virtual world including the virtual vehicle 110. Thevirtual world may be mapped to a physical environment.

In one implementation, the virtual reality server 105 may allow a userto view various elements or components of the virtual vehicle 110 invarious combinations based on assumptions about component materials andmanufacturing processes. For example, vehicle components such as a hoodpanel and a side panel of a vehicle body may be represented on thevirtual vehicle 110. Further, a user, by selecting an option with aninput device, may be able to toggle or switch between various possibleconfigurations of the components, e.g., a first configuration showingthe hood panel and the side panel with a first amount of space betweenthem based on one set of assumptions about materials and manufacturingprocesses, and a second configuration showing the hood panel and theside panel with a second amount of space between them based on a secondset of assumptions about materials and manufacturing processes. In thisway, a large number of potential configurations may, e.g., one at a timeor side-by-side, be modeled and displayed to a user.

FIG. 1 illustrates a single server 105 and a single display device 115.However, in some implementations, operations attributed herein to server105 are performed by more than one computer server. Thus, the server 105illustrated in FIG. 1 may represent a single virtual reality server 105or may collectively represent virtual-reality servers 105.

Likewise, system 100 may include multiple display devices 115, althoughone display device 115 is illustrated in FIG. 1. Thus, the system 100may be configured to present different perspectives of a virtual worldvia different display devices 115. For example, a first display device115 could present a view of a front of a vehicle 105, and a seconddisplay device 115 could present a view of a side of a vehicle 115. Foranother example, a first display device 115 could be a head-mounteddisplay worn by a user and presenting a stereoscopic view of a vehicle,and a second display device 115 could be two computer monitors, eachpresenting one of the two stereoscopic displays provided through thehead-mounted display. In general, display device 115 may be ahead-mounted virtual-reality display device presenting a stereoscopicview and possibly also audio. Alternatively or additionally, displaydevice 115 may be a CAVE (CAVE Automated Virtual Environment), aPowerwall (i.e., a large high-resolution display wall used forprojecting large computer generated images), a computer monitor such asa high definition television (HDTV), a laptop or tablet computer, etc.

FIG. 2 illustrates further exemplary details of the system 100,including elements for providing a virtual representation used tosupport evaluation of a dimensional variation analysis. The system 100is described in the context of modeling some or all of a vehicle, e.g.,via a virtual vehicle 110, but it is to be understood that the systemsand methods presently disclosed have application to the design andmanufacturing processes of many different products and are not limitedto vehicle manufacturing.

The system 100 uses vehicle geometry information from various datastores, such as a vehicle surface geometry 205 and vehicle structuralmesh data 210, to generate a geometric model, or DVA mesh 215representing vehicle structures of interest for dimensional variationanalysis. The DVA mesh 215 is used to generate a DVA model 220,according to DVA configuration parameters 225. As discussed in moredetail below, DVA configuration parameters 225 include factors relatingto a vehicle assembly process, parts locating strategies, i.e., rulesfor installing parts in a vehicle structure, input tolerances, i.e.,ranges of dimensional variations of respective parts and componentsincluded in the DVA mesh 215, output measurements, i.e., locations andorientations where variations between adjacent components on a vehicleare to be simulated and reported in the DVA model 220, and also outputtolerances, which describe a range of permissible variation betweenadjacent vehicle components. Once generated, the DVA model 220 includesrules and parameters for different possible vehicle geometries, i.e.,arrangements and relationships of vehicle parts and components.

System 100 further generates finite element analysis (FEA) model 230,using DVA mesh 215, and also at least some of the parameters used togenerate DVA model 220, such as factors relating to the vehicle assemblyprocess and locating strategies. In general, an FEA model takes intoaccount internal dimensional variations possible with respect to a part,e.g., because the part is made of a flexible, stretchable, or bendablematerial, may vary according to material properties, e.g., Young'smodulus (also known as tensile modulus), Poisson's ratio (transversestrain to longitudinal strain), etc.

A varied geometry engine 235 uses DVA model 220 and FEA model 230 togenerate varied geometries 240. DVA model 220 may generally be appliedto a multitude of different scenarios, i.e., a multitude of variousdimensional variations between parts and/or components of a vehicle maybe geometrically represented in varied geometries 240.

A virtual world generator 245 maps the varied geometries 242 a virtualmodel of a vehicle, generally located in a virtual environment, andsometimes mapped to a physical environment. Accordingly, in addition tovaried geometries 240, virtual world generator 245 may receive inputfrom a physical environment mapper 250, a virtual model generator 255,and/or a virtual environment generator 260.

Immersive representation generator 270 uses a virtual world generated byvirtual world generator 245, along with virtual controls provided by avirtual controls selector 265, e.g., according to program instructionsincluded in immersive representation generator 270 to providepositioning and orientation in the virtual world, to provide a user withan immersive virtual representation of a vehicle from the user'sperspective.

Further, immersive representation generator 270 may provide differentuser perspectives a virtual world according to a user selection, e.g.,via a virtual controls selector 265. For example, a user may be provideddifferent perspectives of a virtual world according to different virtualheights of the user. That is, a user could be given a perspective of avirtual world that a 6′1″ tall person would have, and then, according toa selection of a virtual controls selector 265, begin in a perspectiveof a virtual world that a 5′4″ person would have. The ability to providedifferent user perspectives advantageously allows a user to experience avirtual world, and a vehicle in the virtual world, from the perspectiveof people with differing virtual attributes.

II. System Components

A. Surface Geometries

FIGS. 3A and 3B illustrate respectively an exterior vehicle surfacegeometry 305 and an interior vehicle surface geometry 310. In general,surface geometries define the shape, form, and dimensions of visibleproduct, e.g. vehicle, surfaces. A class-A surface geometry, such asillustrated in FIGS. 3A and 3B, represents characteristics of curvature,tangency, and reflection quality that are aesthetically pleasing.Surface geometries are typically developed using a commerciallyavailable computer-aided design (CAD) or digital modeling softwareexecutable on a general purpose computer. Examples of commerciallyavailable CAD or digital modeling applications that may be used indeveloping surface geometries include: AutoStudio by Alias Systems, asubsidiary of Autodesk, Inc. of San Rafael, Calif., ICEM Surf byDessault Systemes of France, and NX by Siemens PLM, of Germany.

Surface geometries such as geometries 305 and 310 are typically storedin what is sometimes referred to as a product data management (PDM)system that includes database system on a computer server. Examples ofcommercially available PDM systems include: TeamCenter Engineering bySiemens PLM, Windchill by Parametric Technology Corporation of Needham,Mass., and ENOVIA by Dessault Systemes.

Developing surface geometries is typically the first step in thegeometric development of a vehicle. The production design of individualvehicle components is derived from surface geometries in either thepartial form of the individual component or in the location and size ofthe individual component within the boundaries defined by a surfacegeometry.

B. Structural Mesh

FIG. 4 illustrates an exemplary vehicle structural mesh 405. The mesh405 is what is sometimes referred to as a finite element analysis (FEA)mesh. A structural mesh 405 defines physical and material properties ofthe structural components of a vehicle, as opposed to surface geometries305 and 310, which define surface characteristics of a vehicle andvehicle components. A vehicle structural mesh 405 is typically developedusing commercially available FEA pre-processing software. Examples ofcommercially available FEA pre-processing software applications used indeveloping meshes 405 include Hypermesh by Altair Engineering Inc., ofTroy, Mich., and Femap by Siemens PLM.

C. Dimensional Variation Analysis Mesh

FIG. 5 illustrates an exemplary dimensional variation analysis (DVA)mesh 215. As mentioned above, vehicle surface geometry 205 and vehiclestructural mesh data 210 may be used to generate DVA mesh 215, which isa dimensional model representing vehicle structures of interest fordimensional variation analysis. Like vehicle structural mesh 405, themesh 215 is generally a finite element analysis (FEA) mesh.

A DVA mesh 215 may be used in a DVA model 220 to simulate the behaviorof flexible, i.e., non-rigid components in a product such as a vehicle.DVA meshes 215 define the physical and material properties of flexiblecomponents and incorporate the geometric appearance properties ofsurface geometries 305 and/or 310 with a mesh density appropriate forimmersive virtual reality evaluation. DVA meshes 215 are typicallydeveloped using a commercially available FEA pre-processing softwareapplication on a computer system such as Hypermesh by AltairEngineering, Inc. and Femap by Siemens PLM.

D. Dimensional Variation Analysis Model

DVA Model 220 is a computer-based representation of a mechanical systemused to predict the effects of tolerance accumulation, e.g., the effectsof part location, stiffness, interaction with other parts, etc. A DVAmodel 220 may be created using a commercially available toleranceanalysis software application on a computer system, such as VA(variation analysis) software offered by Siemens PLM.

A DVA model 220 is defined in a hierarchical structure. The DVA model220 may include geometric information of the components of themechanical system, geometric information of the component featuresrelated to tolerance accumulation, tolerance limits of the features ofthe components of the mechanical system related to toleranceaccumulation, a sequence of operations related to assembling themechanical system, assembly operations used to locate and constraincomponents within the mechanical system, linear static FEA results datafiles containing displacement and reaction force information for thecomponents of the mechanical system, and the measurement operations usedto calculate variation and contribution to variation of features oncomponents within the mechanical system.

Generation of a DVA model 220 begins with creation of VA model file on acomputer system. Components of a mechanical system or created within thehierarchical structure of the VA model file. Then each component withinthe VA model is linked to a stored file containing the geometric dataset of the component, e.g., CAD data for the component.

Next, for each component within the mechanical system, attributesrelated to tolerance accumulation are identified. These attributes maygenerally be categorized into one of two types: locating/constrainingattributes or measurement attributes. Locating/constraining attributesare used to create linkages between components within the mechanicalsystem. Measurement attributes are used in the measurement of toleranceaccumulation.

Next, assembly operations are identified that locate and constraincomponents within the mechanical system. These constraints establishtolerance path linkages between components within the mechanical system.

Finally, measurement operations are identified to calculate variationand contribution to variation between product elements for specificareas of interest, e.g., overlap between product components such as aside panel and a side panel, a headlamp and a grill, etc. The resultingDVA model 220, including tolerance accumulation attributes, measurementattributes, and assembly constraints, as well as the variation andcontributions to variations resulting from measurement operations, maybe used to produce varied geometries 235, as discussed further below.

E. Finite Element Analysis Model

A finite element analysis (FEA) model 230 may be generated with acommercially available FEA pre-processing software application, such asHypermesh by Altair Engineering. An FEA model 230 may be used to run anFEA simulation of the DVA mesh 215 to produce a linear static FEAresults data file. The linear static FEA results data contains geometryand constraint information, i.e., information on the displacement of thenodes (geometry) and the reaction forces at the boundary conditions(constraints). The linear static FEA results data is used to simulatethe bending and twisting behavior of compliant parts in the DVA modelwith respect to boundary conditions, physical properties, and materialproperties of the parts.

Operations performed to create an FEA model 230 may be as follows. TheDVA mesh 215 is imported into a Hypermesh model file using a computersystem. A set of boundary conditions is created first. The set ofboundary conditions are the principle locators used to constrain the DVAmesh 215 in six degrees of freedom. Subsequent load sets are created tobe unit forces that represent additional constraints to further locateor over-constrain the DVA mesh 215. Next created are individual loadcases of the individual load sets of unit forces with respect to theboundary conditions. For each of the individual load cases, an optionmay be selected to output the displacement and reaction forces for eachload case. The FEA model 230 may be exported from Hypermesh as a NASTRAN(NASA Structural Analysis) ASCII (American Standard Code for InformationInterchange) bulk data file in an FEA input file format such as isknown.

The NASTRAN file may then be used to run the FEA model 230 to provide aresults file that may be used in running the DVA model 220, as describedbelow. For example, the process of running a FEA model is performedusing a commercially available FEA solution processing softwareapplication on a computer system, such as NASTRAN by MSC Software ofSanta Ana, Calif.

The FEA model 230 is generally run using a linear static solutionprocess. Operations to run an FEA model 230 may include the following.An FEA input file, e.g., such as may be exported from Hypermesh asdescribed above, may be selected. A run command may be invoked,whereupon partial differential equations are created, and approximatesolutions to the partial differential equations are determined for thedisplacement of the nodes in the model, and the reaction force at theboundary conditions specified by the model. Once all equations aresolved the solution processing is complete and the software applicationssuch as NASTRAN generates a linear static FEA results data file that isstored on the computer system. This file may be used as discussed belowin running DVA model 220.

F. Configuration Parameters

Various DVA configuration parameters 125 may be provided as inputs ingenerating a DVA model 220, including those discussed in further detailbelow.

1. Assembly Process

“Assembly process” refers to the sequence of assembly and assemblytooling that is used to assemble components in a product such as avehicle. The sequence of assembly is the order in which the componentsare assembled. The sequence of assembly can be documented in the form ofa process flow chart of components and the order in which they areassembled. Process flow charts are typically developed usingcommercially available computer software applications such asPowerpoint, Excel, or Visio by Microsoft Corp. of Redmond, Wash. Processflow charts are typically stored in a data file format on a computerserver or PDM. The sequence of assembly can also be documented in theform of a facility and tooling layout drawing. Facility and toolinglayout drawings are typically developed using commercially availablecomputer aided design (CAD) applications such as AutoCAD by AutoDesk.

The assembly tooling consists of: geometry setting fixtures, operatorload-assist devices, joining equipment, and fastening equipment. Theassembly tooling, in the form of the design of the assembly tooling, istypically developed using commercially available CAD applications suchas Catia by Dessault Systemes, NX by Siemens PLM, or AutoCAD byAutoDesk; or some other software application.

2. Locating Strategy

Locating strategy refers to the features of a component that are used toposition and constrain that component as it is assembled in a productsuch as a vehicle. The features identified as the being a part of thelocating strategy are either engaged an assembly tool or engaged byadjacent component features that have been assembled to the vehicle. Thelocating strategy can be documented in the form of a generic standardlocating strategy or a vehicle specific component locating strategy.

A generic standard locating strategy is typically documented using acommercially available computer software application such as Powerpointor Visio by Microsoft. The generic standard locating strategy istypically the basis for developing the vehicle specific componentlocating strategy.

A vehicle specific component locating strategy is typically developedusing a commercially available CAD application such as Catia by DessaultSystemes or I-DEAS by Siemens PLM; or using some other softwareapplication.

3. Input Tolerances

Input tolerances describe limits of permissible variations specified fora component feature with respect to the component locating strategy,limits of permissible variation specified for a dimension betweencomponent features, and/or limits of permissible variation specifiedbetween component locating features at stages of the assembly process.Input tolerances are typically documented and communicated in accordancewith the ASME Y14.5 Dimensioning and Tolerancing Standard, promulgatedby ASME (founded as the American Society of Mechanical Engineers) of NewYork, N.Y.). In accordance with the ASME Y14.5 standard, the limits ofpermissible variation can be expressed in the form of geometricaltolerances, limit tolerances, or plus-minus tolerances.

Input tolerances may be documented in a generic standard that applies tospecific vehicle component designs, or documented explicitly on a CADmodel as annotation for that specific vehicle component. Inputtolerances in a generic standard are typically documented usingcommercially available computer software applications such as MicrosoftExcel or Word. Input tolerances on a CAD model as annotation aretypically developed using a commercially available CAD application suchas Catia by Dessault Systemes or I-DEAS by Siemens PLM.

4. Output Measurements

Output measurements describe a location and orientation, betweenadjacent components on a product such as a vehicle, where variation willbe simulated and reported in the DVA model 220. Output measurements maybe provided by placing a vehicle and/or vehicle parts into an XYZcoordinate system. Output measurements are typically defined using aplanning document. For example, an exterior coordinate cut plane (CCP)drawing and interior CCP drawing may be used to document the locationand orientation, in the XYZ coordinate system, between adjacentcomponents on a vehicle, where variation will be simulated and reportedin the DVA model 220. The CCP may also serve other purposes related tocomponent measurement planning and pre-production and productioninspection planning CCP drawings are typically developed usingcommercially available computer software applications such as Powerpointor Visio by Microsoft; or commercially available CAD applications suchas Catia by Dessault Systemes or I-DEAS by Siemens PLM.

5. Output Tolerances

Output tolerances describe the limit of permissible variation specifiedbetween adjacent component features. In contrast to input tolerances,which describe possible variations in components, or in componentlocations during assembly process, output tolerances describe desiredranges of variation with reference to an XYZ coordinate system. That is,input tolerances may be accumulated with respect to various factors thatcan affect the component, e.g., component variations, locations, etc.,and then compared to output tolerances to determine if variationsmeasured by input tolerances are within a permissible range.

Output tolerance limits are typically expressed using plus-minustolerance values. Exterior output tolerances may be developed using asystem requirements document such as a surface requirement illustrationdocument. The surface requirement illustration document is typicallydeveloped using a commercially available computer software applicationsuch as Powerpoint or Excel by Microsoft. Interior output tolerances maybe developed using what may be referred to as a fit-and-finish document.The fit-and-finish document is typically developed using a commerciallyavailable computer software application such as Powerpoint or Excel byMicrosoft. Both the surface requirement illustration document and thefit-and-finish document describe permissible variations at variouslocations of a product such as a vehicle, e.g., a gap between a hood anda side panel may be 4.5 millimeters plus or minus 2 millimeters, etc.

G. Varied Geometry and Varied Geometry Engine

Varied geometry engine 235 accepts as inputs a DVA model 220 and FEAmodel 230 to generate a plurality of varied geometries 240. Theplurality of varied geometries 240 results from running DVA model 220 inthe varied geometry engine 235. Each varied geometry 240 represents aset of possible conditions with respect to a product such as a vehicle.For example, varied geometry engine 235 may select different tolerancevalues for different vehicle components included in the DVA model 220 togenerate various varied geometries 240. Generally, the simulationsprovided by varied geometries 240 are generated by applying a MonteCarlo (i.e., random number) generation technique within a range oftolerances to values within range is provided by the DVA model 224various vehicle components. As discussed below, varied geometries 240are provided as input to virtual world generator 245.

DVA model 220 may be run by a commercially available tolerance analysissoftware application on a computer system, such as VA by Siemens PLM.The DVA model 220 is typically run with a simulation of variation, i.e.,how much a component may vary in position, and a simulation ofcontribution, i.e., how much a component contributes to a part's orproduct's overall variation in position. As mentioned above, thesimulation of variation may be performed using a Monte Carlo techniqueto apply random variation to all toleranced features.

Accordingly, running a DVA 220 model may include the followingoperations. A DVA model 220 may be imported into the appropriatesoftware application for running the model 220, e.g., VA, mentionedabove. A selection may be made to run Monte Carlo simulations. Uponinvoking the run command, the software application generally initializesthe model 220 which includes reading information in the FEA results datafile to create a stiffness matrix for the flexible components in themodel. Then some or all of the following may be used to calculatevariation and contribution to variation of features on components withinthe mechanical system: the stiffness matrix, geometric information ofthe component features related to tolerance accumulation, tolerancelimits of the features of the components of the mechanical systemrelated to tolerance accumulation, the sequence of operations related toassembling the mechanical system, the assembly operations used to locateand constrain components within the mechanical system, and themeasurement operations.

Non-nominal geometry is exported, i.e., as a varied geometry 240, duringthe variation simulation as samples produce a result for a measurementoperation that is defined as a condition for exporting the non-nominalgeometry. That is, the software application running the model 220 may beconfigured to generate varied geometries 240 upon conditions related tocertain ranges of variation of certain parts, a certain number ofvariations within a given range, etc. A goal of running the model 220 isto generate a number of varied geometries 240 to allow for meaningfulevaluation of possible variations in a product as is manufactured, butnot to generate so many varied geometries 240 as to present variationsthat are too close together to be useful, or are too many to evaluate.In any event, the non-nominal geometry is stored on the computer systemwhere the DVA model 220 is being run as a varied geometry 240.

H. Virtual World Generator

In addition to varied geometries 240, virtual world generator 245receives inputs from physical environment mapper 150, virtual modelgenerator 155, and virtual environment generator 260. Virtual worldgenerator 245 in turn provides a virtual reality environment toimmersive representation generator 270, which allows a user to selectdifferent views of a product such as a vehicle using controls providedby virtual controls selector 265, based on varied geometries 240. Asmentioned elsewhere herein, certain elements disclosed in thisspecification may be implemented according to computer executableinstructions stored on a computer readable medium. For example, some orall of the elements described in this paragraph, such as virtual worldgenerator 245, may be provided according to computer executableinstructions stored and executed on virtual reality server 105.

I. Physical Environment Mapper

Physical environment mapper 250 is an optional component that is used toregister a virtual reality coordinate system to real world, i.e.,physical, objects. For example, a vehicle mockup may be provided withvarious points such as seats, a dashboard, steering wheel, instrumentpanel, etc. Accordingly, to allow a user of display device 115 tointeract with the virtual world provided by virtual world generator 245and immersive representation generator 270, physical environment mapper250 may be used to map points in a physical mockup of a vehicle to acoordinate system used by the virtual world generator 245. For example,points may be oriented with respect to the ground, and may includevehicle points based on vehicle dimensions such as height of the vehiclefrom the ground, height of doors, interior width at various points, etc.Further, coordinate system used by physical environment mapper 250 mayinclude a mechanism for scaling a virtual world to properly mapped tothe coordinate system for the physical world.

J. Virtual Model Generator

Virtual model generator 255 provides a virtual model of a product suchas a vehicle so that a complete product model may be provided in thevirtual world generated by virtual world generator 240. That is, variedgeometries 240 generally only feature areas of interest on a product,i.e., a subset of the product, whereas for a complete virtual realityexperience it is desirable to provide a substantially complete renderingof a product. Virtual model generator 255 makes use of what is sometimesreferred to as a nominal geometry, i.e., a geometry that provides all ofthe basic elements of a product such as a vehicle. Further, virtualmodel generator 255 may use what is sometimes referred to as anappearance database, i.e., a data store of various textures, shaders,etc., that may be applied to a product such as a vehicle. For example, avehicle may be modeled with leather seats and a tan interior, clothseats and a black interior, etc. Numerous different components of avehicle may have different textures, colors, etc. In addition, thenominal geometry includes coordinate information for various productcomponents.

K. Virtual Environment Generator

Virtual environment generator 260 is used to generate aspects of avirtual world other than a product, e.g., a vehicle, representation. Forexample, virtual environment generator 260 receives input with respectto lighting in a virtual world, illustrates shadows and reflections, andprovides perspective. With respect to lighting, ray tracing, whichcalculates how light bounces from one surface to another, may beimportant, and may enhance a virtual representation. With respect toperspective, virtual environment generator 260 may provide a perspectivefor a person of a certain height. As mentioned above, immersiverepresentation generator 270 may make available different perspectivesin a virtual environment.

In addition, virtual environment generator 260 may control what issometimes referred to as a variation mapping. That is, different variedgeometries 240 may be selected to be applied to a virtual model createdby virtual model generator 255. Further, different virtual models, e.g.,according to different nominal geometries, may be provided by virtualmodel generator 255 and mapped to different varied geometries 240.

L. Virtual Controls Selector

Virtual controls selector 265 provides a mechanism for selectingcontrols of an input device, e.g., keyboard, mouse, pointing device,etc., that can be used to select various events in the virtual worldprovided by virtual world generator 245. For example, various keys ofthe keyboard may be mapped to toggle the display of different variedgeometries in the virtual world. A first varied geometry may represent afirst positioning of a product components, such as a side panel, while asecond varied geometry may represent a second positioning of the sidepanel. A key of a keyboard may be selected to toggle between the firstand second varied geometries to allow a user of the virtual realitysystem 100 to evaluate the difference in product appearance representedby the first varied geometry and the second varied geometry.

L. Immersive Representation Generator

Immersive representation generator 270 combines the virtual worldprovided by virtual world generator 245 with virtual controls providedby virtual controls selector 270, taking into account the location ofthe user within the virtual world, and the continuously updated positionand orientation of the view of the user in the physical world, toprovide an immersive representation of a product such as a vehicle.Accordingly, a user, e.g., using display 115, can experience thegenerated virtual world, and can control aspects of the virtual worldusing provided virtual controls. The representation is described asimmersive because the user generally has no other visual experienceother than a view of the virtual world provided by the system 100.

III. Process Flow

FIG. 6 illustrates an exemplary process 600 for creating and using animmersive virtual environment including evaluation of varied geometries240.

The process 600 begins in a step 605, in which DVA mesh 215 is createdby a combination of surface geometry 205 and structural mesh 210. Asmentioned above, the DVA mesh 215 generally represents a portion of aproduct such as a vehicle, e.g., a side of a vehicle, a front-end, aportion of interior, or some other area or set of components ofinterest.

Next, in step 610, a DVA model 220 is created from the DVA mesh 215using configuration parameters 225. As discussed above, DVA model 220includes a dimensional model of at least a portion of a product, e.g., avehicle, and includes a range of possible conditions with respect to atleast one component, and generally a plurality of components, in theproduct.

Next, in step 615, the DVA mesh 215 is used to create an FEA model 230.

Next, in step 620, varied geometry engine 235 is used to run the DVAmodel 220, using the FEA model 230, to create varied geometries 240.Thus, the dimensional model represented by DVA model 220 is used tocreate a set of geometries, e.g., varied geometries 240, for theproduct, where a varied geometry 240 is a representation of at least aportion of the product, wherein each of the geometries corresponds toone or more of the conditions included in the DVA model 220 as discussedabove.

Next, in step 625, virtual model generator 255 is used to create avirtual model of a product, e.g., a vehicle. That is, as mentionedabove, DVA model 220 generally includes only a portion of a vehicle, andtherefore virtual model generator 215 is used to create a completevehicle model for use in a virtual world.

Next, in step 630, virtual environment generator 260 is used to create avirtual environment in which the model created in step 625 may beincluded.

Next, in step 635, virtual controls selector 265 is used to createvirtual environment controls, sometimes referred to as immersivecontrols, for use when viewing a virtual model of a vehicle.

Next, in step 640, physical environment mapper 250 is used to match aphysical world associated with the virtual environment created in step630. That is, a coordinate system is imposed on a physical environmentwith points that may be mapped to the virtual environment.

Next, in step 645, physical environment mapper 250 maps the physicalworld to the virtual environment. Note that, as mentioned above, mappingthe virtual environment to a physical environment is optional, and maybe omitted in some implementations.

Next, in step 650, virtual world generator 245 aligns all data to beincluded in the virtual world. For example, after the physical world ismapped to the virtual environment, the virtual model generated asdiscussed with respect to step 625 must be placed in the virtualenvironment. Further, immersive controls used to toggle various views inthe virtual world must be mapped to the coordinates, and the variedgeometries 240 associated with the immersive controls.

Next, in step 655, immersive representation generator 270 generates animmersive representation that may be experienced by a user of display115 and/or virtual reality server 105, server 105 including instructionssuch as those mentioned above for tracking position and/or orientation.For example, generator 260 may provide a virtual representation of avehicle that includes a first one of the varied geometries 240 generatedas described above in step 620, and then, upon receiving an inputrequesting a second one of the geometries 240 generated as describedabove in step 620, may display the requested second one of thegeometries 240.

Following step 655, the process 600 ends.

IV. Conclusion

Computing devices such as virtual reality server 105, etc. may employany of a number of computer operating systems known to those skilled inthe art, including, but by no means limited to, known versions and/orvarieties of the Microsoft Windows® operating system, the Unix operatingsystem (e.g., the Solaris® operating system distributed by OracleCorporation of Redwood Shores, Calif.), the AIX UNIX operating systemdistributed by International Business Machines of Armonk, N.Y., theLinux operating system, Apple OS-X Operating Systems, and/or MobileOperating Systems. Computing devices may include any one of a number ofcomputing devices known to those skilled in the art, including, withoutlimitation, a computer workstation, a desktop, notebook, laptop, tabletcomputer, smartphone, or handheld computer, or some other computingdevice known to those skilled in the art.

Computing devices such as the foregoing generally each includeinstructions executable by one or more computing devices such as thoselisted above. Computer-executable instructions may be compiled orinterpreted from computer programs created using a variety ofprogramming languages and/or technologies known to those skilled in theart, including, without limitation, and either alone or in combination,Java™, C, C++, Visual Basic, Java Script, Perl, etc. In general, aprocessor (e.g., a microprocessor) receives instructions, e.g., from amemory, a computer-readable medium, etc., and executes theseinstructions, thereby performing one or more processes, including one ormore of the processes described herein. Such instructions and other datamay be stored and transmitted using a variety of known computer-readablemedia.

A computer-readable medium includes any medium that participates inproviding data (e.g., instructions), which may be read by a computer.Such a medium may take many forms, including, but not limited to,non-volatile media, volatile media, and transmission media. Non-volatilemedia include, for example, optical or magnetic disks and otherpersistent memory. Volatile media include dynamic random access memory(DRAM), which typically constitutes a main memory. Transmission mediainclude coaxial cables, copper wire and fiber optics, including thewires that comprise a system bus coupled to the processor. Transmissionmedia may include or convey acoustic waves, light waves andelectromagnetic emissions, such as those generated during radiofrequency (RF) and infrared (IR) data communications. Common forms ofcomputer-readable media include, for example, a floppy disk, a flexibledisk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM,DVD, any other optical medium, punch cards, paper tape, any otherphysical medium with patterns of holes, a RAM, a PROM, an EPROM, aFLASH-EEPROM, any other memory chip or cartridge, a carrier wave asdescribed hereinafter, or any other medium from which a computer canread.

With regard to the processes, systems, methods, heuristics, etc.described herein, it should be understood that, although the steps ofsuch processes, etc. have been described as occurring according to acertain ordered sequence, such processes could be practiced with thedescribed steps performed in an order other than the order describedherein. It further should be understood that certain steps could beperformed simultaneously, that other steps could be added, or thatcertain steps described herein could be omitted. In other words, thedescriptions of processes herein are provided for the purpose ofillustrating certain embodiments, and should in no way be construed soas to limit the claimed invention.

Accordingly, it is to be understood that the above description isintended to be illustrative and not restrictive. Many embodiments andapplications other than the examples provided would be apparent to thoseof skill in the art upon reading the above description. The scope of theinvention should be determined, not with reference to the abovedescription, but should instead be determined with reference to theappended claims, along with the full scope of equivalents to which suchclaims are entitled. It is anticipated and intended that futuredevelopments will occur in the arts discussed herein, and that thedisclosed systems and methods will be incorporated into such futureembodiments. In sum, it should be understood that the invention iscapable of modification and variation and is limited only by thefollowing claims.

All terms used in the claims are intended to be given their broadestreasonable constructions and their ordinary meanings as understood bythose skilled in the art unless an explicit indication to the contraryin made herein. In particular, use of the singular articles such as “a,”“the,” “said,” etc. should be read to recite one or more of theindicated elements unless a claim recites an explicit limitation to thecontrary.

What is claimed is:
 1. A computer, programmed to: randomly generate aplurality of geometries that each include a first component, each of thegeometries corresponding to a respective position of the first componentwith respect to a second component in a product that comprises the firstand second components; provide to a display a three-dimensional view ofthe product according to a three-dimensional coordinate system, thethree-dimensional view including the first and second components,wherein the first component is displayed according to a first one of thegeometries; provide to the display a continuously updated position andorientation of the three-dimensional view of the product according to acurrent physical location of a user in the three-dimensional coordinatesystem, whereby the position and orientation of the three-dimensionalview of the product in the three-dimensional coordinate system,including the first and second components, changes as the currentphysical location of the user changes; and upon receiving inputrequesting a second one of the geometries, provide to the display thecontinuously updated position of the three-dimensional view of theproduct modified according to the second one of the geometries.
 2. Thecomputer of claim 1, wherein the three-dimensional view of the productincludes substantially all of the product.
 3. The computer of claim 2,further programmed to: map a physical space including real physicalobjects to the virtual coordinate system; and provide thethree-dimensional view of the product so as to incorporate the realphysical objects into the three-dimensional view of the product.
 4. Thecomputer of claim 1, wherein the product is a vehicle.
 5. The computerof claim 1, further programmed to: receive an input requesting a thirdone of the geometries while the second one of the geometries is beingdisplayed; and upon receiving input requesting the third one of thegeometries, provide to the display the continuously updated position ofthe three-dimensional view of the product modified according to thethird one of the geometries.
 6. The computer of claim 1, furthercomprising at least one display device configured to receive the displaythe three-dimensional view of the product.
 7. The computer of claim 1,wherein parameters used in creating the geometries include at least oneof: factors relating to a vehicle assembly process, parts locatingstrategies, input tolerances, output measurements, and outputtolerances.
 8. The computer of claim 1, further programmed to randomlygenerate the geometries based on linear static finite elements analysisresults data files containing displacement and reaction forceinformation for the at least one component in a mechanical system, andmeasurement operations used to calculate variation and contribution tovariation of features on the at least one component within themechanical system.
 9. The computer of claim 1, wherein each of thegeometries is based on dimensional mesh data that is generated fromproduct surface geometry data and product structural mesh data.
 10. Thecomputer of claim 9, wherein each of the geometries is generatedaccording to one or more conditions in a range of one or more conditionsof the first component.
 11. A method, comprising: randomly generating aplurality of geometries that each include a first component, each of thegeometries corresponding to a respective position of the first componentwith respect to a second component in a product that comprises the firstand second components; providing a display of a three-dimensional viewof the product according to a three-dimensional coordinate system, thethree-dimensional view including the first and second components,wherein the first component is displayed according to a first one of thegeometries; providing in the display a continuously updated position andorientation of the three-dimensional view of the product according to acurrent physical location of a user in the three-dimensional coordinatesystem, whereby the position and orientation of the three-dimensionalview of the product in the three-dimensional coordinate system,including the first and second components, changes as the currentphysical location of the user changes; and upon receiving inputrequesting a second one of the geometries, providing in the display thecontinuously updated position of the three-dimensional view of theproduct modified according to the second one of the geometries.
 12. Themethod of claim 11, wherein the three-dimensional view of the productincludes substantially all of the product.
 13. The method of claim 11,further comprising: mapping a physical space including real physicalobjects to the virtual coordinate system; and providing thethree-dimensional view of the product so as to incorporate the realphysical objects into the three-dimensional view of the product.
 14. Themethod of claim 11, wherein the product is a vehicle.
 15. The method ofclaim 11, further comprising: receiving an input requesting a third oneof the geometries while the second one of the geometries is beingdisplayed; and upon receiving input requesting the third one of thegeometries, providing in the display the continuously updated positionof the three-dimensional view of the product modified according to thethird one of the geometries.
 16. The method of claim 11, furthercomprising providing at least one display device configured to receivethe display the three-dimensional view of the product.
 17. The method ofclaim 11, wherein parameters used in creating the geometries include atleast one of: factors relating to a vehicle assembly process, partslocating strategies, input tolerances, output measurements, and outputtolerances.
 18. The method of claim 11, further comprising randomlygenerating the geometries based on linear static finite elementsanalysis results data files containing displacement and reaction forceinformation for the at least one component in a mechanical system, andmeasurement operations used to calculate variation and contribution tovariation of features on the at least one component within themechanical system.
 19. The method of claim 11, wherein each of thegeometries is based on dimensional mesh data that is generated fromproduct surface geometry data and product structural mesh data.
 20. Themethod of claim 19, wherein each of the geometries is generatedaccording to one or more conditions in a range of one or more conditionsof the first component.